home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_12_03 / olsen / parsdef.h < prev   
C/C++ Source or Header  |  1993-11-17  |  2KB  |  55 lines

  1. /* LISTING 1 */
  2. /* parsdef.h */
  3. /* No copyrights claimed */
  4. #define ERROR               1
  5. #define EMPTY               2
  6. #define ASSIGN              3
  7. #define REQUEST             4
  8. #define TO_EEPROM           5
  9. #define IS                  6
  10. #define COMMAND             7
  11. #define INTEGER             8
  12. #define NAME                10
  13. #define NAME_ERROR          11
  14. #define OP_ERROR            12
  15. #define VAL_ERROR           13
  16. #define END_ERROR           14
  17. #define POOL_ERROR          15
  18. #define UNDEF_SYMB          16
  19. #define NOT_EEPROM          17
  20. #define UNDEF_FUNC          18
  21. #define MAX_TOKEN_LEN       10
  22. #define MAX_STATEMENTS      20
  23. #define STRINGPOOL          80
  24. #define MESSAGELENGTH       80
  25.  
  26. typedef struct {
  27.     int command;
  28.     int type;
  29.     char *name;
  30.     int  value;
  31. } toDoList;
  32.  
  33. typedef struct {
  34.     char *name;
  35.     int ival;
  36.     char *(*func)(char *);
  37.     int eeOffset;    /* -1 if not saved in eeprom */
  38. } symTabEntry;
  39.  
  40. char        *Assign(toDoList *pL, char *pTx);
  41. void         DoCommands(toDoList *pL);
  42. symTabEntry *FindSymbol(char *name);
  43. char        *GetNextToken(char *begin, char *token, int *type);
  44. void         Parse(char *message, toDoList *pL);
  45. void         PrintToDo(toDoList *toDo);
  46. char        *Request(toDoList *pL, char *pTx);
  47. char        *Reset(char *ptr);
  48. char        *RunCommand(toDoList *pL, char *pTx);
  49. char        *SayError(toDoList *pL, int err, char *cp);
  50. int          StoreToken(char **strp, char *token);
  51. int          SymCmp(symTabEntry *a, symTabEntry *b);
  52. char        *ToEeprom(toDoList *pL, char *pTx);
  53. char        *TxBuffer(void);
  54. void         WriteEeprom(symTabEntry *pSym, int type);
  55.